package com.lzw.breezeNovel.webApp.service.video;

import com.lzw.breezeNovel.model.entity.query.PaginationResultQuery;
import com.lzw.breezeNovel.model.entity.query.video.ShortVideoQuery;
import com.lzw.breezeNovel.webApp.vo.video.ShortVideoVo;
import org.apache.ibatis.annotations.Param;

/**
 * @author 清风明月
 * @Package com.lzw.breezeNovel.webApp.service.video
 * @date 2025/3/23
 * @description 短视频
 */
@SuppressWarnings("all")
public interface ShortVideoService {

    /**
     * 添加短视频列表
     * @param shortVideoQuery
     */
    void addShortVideo(ShortVideoQuery shortVideoQuery);

    /**
     * 获取所有短视频
     * @param pageNo
     * @param size
     * @return
     */
    PaginationResultQuery<ShortVideoVo> getAllShortVideo(Integer pageNo, Integer size);

    /**
     * 更新分享次数
     * @param videoId
     * @param userId
     */
    void updateShareCount(@Param("videoId") Long videoId, @Param("userId") Long userId);

    /**
     * 更新播放次数
     * @param videoId
     */
    void updatePlayCount(Long videoId);

    /**
     * 获取当前用户的所有的作品
     * @param pageNo
     * @param size
     * @param userId
     * @return
     */
    PaginationResultQuery<ShortVideoVo> getAllVideoByUserId(Integer pageNo, Integer size);


    /**
     * 根据视频id删除
     * @param videoId
     */
    void deleteShortVideo(Long videoId);
}
